package com.ssy.lingxi.member.merchant.model.vo.lifecycle.request;

import com.ssy.lingxi.member.merchant.model.vo.basic.request.FileUploadVO;

import javax.validation.Valid;
import javax.validation.constraints.Max;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * 会员考评项目提交VO
 * @author yzc
 * @version 2.0.0
 * @date 2021/5/17
 */
public class MemberAppraisalItemSubmitVO implements Serializable {
    private static final long serialVersionUID = -7205113825990713227L;

    /**
     * 项目id
     */
    @NotNull(message = "项目id不能为空")
    private Long id;

    /**
     * 评分权重
     */
    @PositiveOrZero(message = "评分权重必须大于等于0")
    private Integer scoreWeight;

    /**
     * 考评计分
     */
    @PositiveOrZero(message = "考评计分必须大于等于0")
    @Max(value = 1000000000, message = "考评计分不能超过10的9次方")
    private BigDecimal grade;

    /**
     * 考评模板
     */
    private List<FileUploadVO> templates;

    /**
     * 考评报告
     */
    @Valid
    private List<FileUploadVO> reports;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Integer getScoreWeight() {
        return scoreWeight;
    }

    public void setScoreWeight(Integer scoreWeight) {
        this.scoreWeight = scoreWeight;
    }

    public BigDecimal getGrade() {
        return grade;
    }

    public void setGrade(BigDecimal grade) {
        this.grade = grade;
    }

    public List<FileUploadVO> getTemplates() {
        return templates;
    }

    public void setTemplates(List<FileUploadVO> templates) {
        this.templates = templates;
    }

    public List<FileUploadVO> getReports() {
        return reports;
    }

    public void setReports(List<FileUploadVO> reports) {
        this.reports = reports;
    }
}
